fix(crosswalk): correct eleven MITRE ATLAS technique citations - #65
Merged
emmanuelgjr merged 1 commit intoSep 14, 2026
Merged
Conversation
Six citations carry a superseded name under a correct identifier, from the rename that moved the ATLAS matrix off "ML" wording. Five carry a correct, current name under an identifier belonging to a different technique. AML.T0022 appears in neither the current release nor the deprecated 5.6.0 line. Renames, identifier unchanged: AML.T0020 Poison Training Data -> Training Data Poisoning AML.T0029 Denial of ML Service -> Denial of AI Service AML.T0013 Discover ML Model Ontology -> Discover AI Model Ontology AML.T0018 Backdoor ML Model -> Manipulate AI Model AML.T0025 Exfiltrate via Cyber Means -> Exfiltration via Cyber Means AML.T0024.000 Membership Inference -> Infer Training Data Membership Identifier corrections, name unchanged: Data from Information Repositories AML.T0057 -> AML.T0036 Exploit Public-Facing Application AML.T0051 -> AML.T0049 Craft Adversarial Data AML.T0031 -> AML.T0043 Exfiltration via AI Inference API AML.T0016 -> AML.T0024 Valid Accounts AML.T0022 -> AML.T0012 Applied to the markdown control tables, their summary rows and their inline citations, since scripts/generate.js rebuilds data/entries from the tables. The regenerated entries and the two bundles that carry a substantive change are included so the tree is consistent. The ASI03 summary row listed AML.T0016 and AML.T0024 separately; both now resolve to AML.T0024, so the duplicate is dropped rather than listed twice. Verified against https://atlas.mitre.org/atlas-data/dist/v6/ATLAS-2026.07.yaml sha256 0e07bb07fc6423d72cdf24ddc2038a6905bcbc00ba571064153119ee1a5888d4
4 tasks
emmanuelgjr
approved these changes
Sep 14, 2026
emmanuelgjr
left a comment
Contributor
There was a problem hiding this comment.
Verified all eleven corrections against ATLAS 2026.07 (sha256 matches the pin); diff scope is limited to those fixes plus regenerated output, and validate.js is unchanged versus main. Thanks — the follow-up issue for the remaining mismatches would be welcome.
emmanuelgjr
added a commit
to ottosulin/GenAI-Data-Security-Initiative
that referenced
this pull request
Sep 14, 2026
Regenerated data/entries, backlinks and docs bundles on top of the MITRE ATLAS citation fixes (GenAI-Security-Project#65). Corrected the frameworks (26) and controls (1,705) README badges to include AISVS. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KJVKF6raJCNKBWjTkDSqR4
emmanuelgjr
added a commit
to GenAI-Security-Project/crosswalk
that referenced
this pull request
Sep 14, 2026
Port of GenAI-Security-Project/GenAI-Data-Security-Initiative#65 (squash d0675741), which fixed these in the monorepo copy of crosswalk/ that has since been removed. Every target was re-checked against ATLAS-2026.07.yaml from mitre-atlas/atlas-data tag v2026.07, dist/v6 (sha256 0e07bb07fc6423d72cdf24ddc2038a6905bcbc00ba571064153119ee1a5888d4). Six renames, identifier right and label superseded: AML.T0020 Training Data Poisoning, AML.T0029 Denial of AI Service, AML.T0013 Discover AI Model Ontology, AML.T0018 Manipulate AI Model, AML.T0025 Exfiltration via Cyber Means, AML.T0024.000 Infer Training Data Membership. Five identifier errors, label right and identifier wrong: Data from Information Repositories AML.T0057 -> AML.T0036, Exploit Public-Facing Application AML.T0051 -> AML.T0049, Craft Adversarial Data AML.T0031 -> AML.T0043, Exfiltration via AI Inference API AML.T0016 -> AML.T0024, Valid Accounts AML.T0022 -> AML.T0012 (AML.T0022 is not in the release). The mapping files here have diverged from the monorepo copy, so the monorepo line changes were transplanted onto the current content with an assertion that each replaced line occurs here exactly as often as it did in the monorepo pre-image, and every changed line was checked to differ only by these eleven substitutions. 57 technique rows change (Agentic 5, DSGAI 51, LLM 1), plus the summary identifier lists, counter bullets and prose that cite the same identifiers. A changelog row is added to each of the three files. data/entries, backlinks and docs bundles are regenerated with scripts/generate.js. validate.js output is byte-identical to main (0 errors, 84 warnings, 312 passed); stats:check and the 50 unit tests pass; generator output is current. Claude-Session: https://claude.ai/code/session_01KJVKF6raJCNKBWjTkDSqR4 Co-authored-by: Sankalp Gilda <sankalp.gilda@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applies the eleven corrections from #59, checked against the ATLAS release the issue pins, not against the issue text.
They split in two. Six are renames: the identifier is right and the label was superseded. Five are identifier errors, where the label is right and the number points somewhere else: four at a different technique, one at nothing in the release. All eleven are still live on main at
2aa707a, none has been fixed upstream, and every replacement ran through an occurrence assertion rather than a search and replace.The source is the ATLAS 2026.07 distribution file, sha256
0e07bb07fc6423d72cdf24ddc2038a6905bcbc00ba571064153119ee1a5888d4, byte-identical to the hash #59 pins. 194 techniques parsed from it.One is worth naming on its own. AML.T0022 is not in the pinned release at all, so the row citing it for Valid Accounts points at nothing, and it becomes AML.T0012. That absence is a real negative and not a failed search: the same grep path returns 15 hits for AML.T0021.
Two things in the diff look wrong. Neither was introduced here.
The ASI03 detail table ends with two rows citing AML.T0024 under different labels. Correction ten moves Exfiltration via AI Inference API from AML.T0016 to AML.T0024, and the neighbouring row already cited AML.T0024 as Model Inversion. That second row is wrong on both halves, since the release carries no technique called Model Inversion. It sits outside both #59 and #60, so I left it. Say the word and it goes in a follow-up diff.
The changelog carries three rows, not one. Step 5 of the contributing guide asks for one per modified file, and each row matches the existing format and author string. What has no precedent is three of them at once, since no file in the repository has ever carried a second row, so the grouping is my guess and yours to overrule.
On scope. The generate step was run as step 6 requires, which regenerated 25 entry files, the backlinks and the docs data. Two generated files were reverted, because the generator stamps the current date into them and nothing here touches their content.
Verification: validate returns 51 errors, 67 warnings and 240 passed on both main and this branch, and the two error lists are byte-identical once sorted, so the set of failures is the same one either side. They are pre-existing. I compared sets rather than positions, so this shows none appeared or disappeared, not that none moved between files.
While counting I found 124 rows in total that disagree with the pinned release, and the eleven cover 57 of them. Among the rest, three more identifiers are absent from the release entirely, AML.T0015 is recorded as LLM Capability Escalation where the release says Evade AI Model, and AML.T0056 is recorded as Adversarial Model Manipulation where it says Extract LLM System Prompt. I can open that as a second issue with the full list, or fold it in here, whichever suits you.